import jsonp from '../common/js/jsonp'
import { commonParams, options } from './config'
import axios from 'axios'

// banner
export function getSlider () {
  const url = 'https://c.y.qq.com/musichall/fcgi-bin/fcg_yqqhomepagerecommend.fcg'
  const data = Object.assign({}, commonParams, {
    platfrom: 'H5',
    uin: 0,
    needNewCode: 1
  })

  return jsonp(url, data, options)
}

// 推荐
export function getRecommendList (callback) {
  axios('/api/cgi-bin/musicu.fcg', {
    params: {
      '-': 'recom23585391432727132',
      g_tk: 5381,
      loginUin: 0,
      hostUin: 0,
      format: 'json',
      inCharset: 'utf8',
      outCharset: 'utf-8',
      notice: 0,
      platform: 'yqq.json',
      needNewCode: 0,
      data: {
        'comm': {'ct': 24},
        'category': {'method': 'get_hot_category', 'param': {'qq': ''}, 'module': 'music.web_category_svr'},
        'recomPlaylist': {
          'method': 'get_hot_recommend',
          'param': {'async': 1, 'cmd': 2},
          'module': 'playlist.HotRecommendServer'
        },
        'playlist': {
          'method': 'get_playlist_by_category',
          'param': {'id': 8, 'curPage': 1, 'size': 40, 'order': 5, 'titleid': 8},
          'module': 'playlist.PlayListPlazaServer'
        },
        'new_song': {'module': 'newsong.NewSongServer', 'method': 'get_new_song_info', 'param': {'type': 5}},
        'new_album': {
          'module': 'newalbum.NewAlbumServer',
          'method': 'get_new_album_info',
          'param': {'area': 1, 'sin': 0, 'num': 10}
        },
        'new_album_tag': {'module': 'newalbum.NewAlbumServer', 'method': 'get_new_album_area', 'param': {}},
        'toplist': {'module': 'musicToplist.ToplistInfoServer', 'method': 'GetAll', 'param': {}},
        'focus': {'module': 'QQMusic.MusichallServer', 'method': 'GetFocus', 'param': {}}
      }
    }
  }).then((response) => {
    callback(response)
  }).catch((error) => {
    callback(error)
  })
}

// 推荐歌曲字列表
export function getDiscList (discId, callback) {
  axios('/vkey/qzone/fcg-bin/fcg_ucc_getcdinfo_byids_cp.fcg', {
    params: {
      type: 1,
      json: 1,
      utf8: 1,
      onlysong: 0,
      new_format: 1,
      disstid: discId,
      g_tk: 5381,
      loginUin: 0,
      hostUin: 0,
      format: 'json',
      inCharset: 'utf8',
      outCharset: 'utf-8',
      notice: 0,
      platform: 'yqq.json',
      needNewCode: 0
    }
  }).then((response) => {
    callback(response)
  }).catch((error) => {
    callback(error)
  })
}